package medium

import (
	"sort"
)

/*
时间复杂度:O(N)
空间复杂度:O(1)
*/

func maximumElementAfterDecrementingAndRearranging(arr []int) int {
	sort.Ints(arr)
	result := 0
	// result记录上一个值,如果当前值小于result,说明最大只能变成v,那么result=v
	for _, v := range arr {
		if v >= result+1 {
			result++

		}
	}
	return result
}
